\hypertarget{class_bezier}{
\section{Bezier Class Reference}
\label{class_bezier}\index{Bezier@{Bezier}}
}


{\ttfamily \#include $<$bezier.h$>$}

Inheritance diagram for Bezier:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{class_bezier}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_bezier_a359c9932adcc1e369ef740af71917ec9}{
{\bfseries Bezier} (int aDiscretisation)}
\label{class_bezier_a359c9932adcc1e369ef740af71917ec9}

\item 
void \hyperlink{class_bezier_a56608312591374b2958711345b29ad37}{InitBuffers} ()
\begin{DoxyCompactList}\small\item\em Initialise les buffers contenant les informations concernant les sommets discretisant la courbe de bézier à savoir les coordonnées en x,y et z, la couleur de chacun de sommets =================================================================================================================. \item\end{DoxyCompactList}\item 
void \hyperlink{class_bezier_a49873d1d7e09b52c087cd5e711767a94}{FillBuffers} ()
\begin{DoxyCompactList}\small\item\em Discretise la courbe de \hyperlink{class_bezier}{Bezier} en fonction des points de controles qui ont été définis =================================================================================================================. \item\end{DoxyCompactList}\item 
\hypertarget{class_bezier_a0bc39736e4a07d69cd36fd56231ee651}{
void {\bfseries AddControlVertex} (\hyperlink{class_vectorf}{Vectorf} $\ast$)}
\label{class_bezier_a0bc39736e4a07d69cd36fd56231ee651}

\item 
\hypertarget{class_bezier_a274752a9e99d4f983e04b761112ea093}{
void {\bfseries DeCasteljau} (float t, std::vector$<$ \hyperlink{class_vectorf}{Vectorf} $\ast$ $>$ sommets)}
\label{class_bezier_a274752a9e99d4f983e04b761112ea093}

\item 
\hypertarget{class_bezier_a5cdb226e69711c02bc4d041cc290d227}{
int {\bfseries Factoriel} (int)}
\label{class_bezier_a5cdb226e69711c02bc4d041cc290d227}

\item 
\hypertarget{class_bezier_a72aaecb27c81c7fee374c5db98059169}{
float {\bfseries CalculPolynomeBernstein} (int an, int ai, float at)}
\label{class_bezier_a72aaecb27c81c7fee374c5db98059169}

\item 
\hypertarget{class_bezier_af8b22b83169f5b7ac32696dafe19d23a}{
\hyperlink{class_vectorf}{Vectorf} $\ast$ {\bfseries CalculPointBezier} (float at)}
\label{class_bezier_af8b22b83169f5b7ac32696dafe19d23a}

\item 
\hypertarget{class_bezier_a1177dd68bfc94046f7d921033eea9e5b}{
virtual void \hyperlink{class_bezier_a1177dd68bfc94046f7d921033eea9e5b}{Display} ()}
\label{class_bezier_a1177dd68bfc94046f7d921033eea9e5b}

\begin{DoxyCompactList}\small\item\em Méthode virtuelle pure utilisé pour afficher les trucs. \item\end{DoxyCompactList}\item 
\hypertarget{class_bezier_a916dd2c5a6e3c75ea5fda7d9e6a2554b}{
void {\bfseries RenderBuffers} ()}
\label{class_bezier_a916dd2c5a6e3c75ea5fda7d9e6a2554b}

\item 
\hypertarget{class_bezier_a1984d4ceb3e235e95a00667199bb6ce5}{
virtual void \hyperlink{class_bezier_a1984d4ceb3e235e95a00667199bb6ce5}{Picking} ()}
\label{class_bezier_a1984d4ceb3e235e95a00667199bb6ce5}

\begin{DoxyCompactList}\small\item\em Méthode virtuelle pure, utiliser pour afficher l'objet avec une unique couleur dans un espace d'affichage \char`\"{}caché\char`\"{} permettant ainsi de savoir si on a \char`\"{}cliquer\char`\"{} dessus depuis l'écran. \item\end{DoxyCompactList}\item 
\hypertarget{class_bezier_a1dd2530aae858f91bda20bcb180dcacc}{
virtual void \hyperlink{class_bezier_a1dd2530aae858f91bda20bcb180dcacc}{SetPicking} (unsigned char x, unsigned char y, unsigned char z)}
\label{class_bezier_a1dd2530aae858f91bda20bcb180dcacc}

\begin{DoxyCompactList}\small\item\em Définit l'identifiant unique de l'objet, utilisé pour le picking. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_bezier_a8c8dae10c9be0d07183760546c215718}{
std::vector$<$ \hyperlink{class_vectorf}{Vectorf} $\ast$ $>$ {\bfseries controlVertices}}
\label{class_bezier_a8c8dae10c9be0d07183760546c215718}

\item 
\hypertarget{class_bezier_a73f1d3af59e82335a4ad03331c9f17f8}{
int {\bfseries discretisation}}
\label{class_bezier_a73f1d3af59e82335a4ad03331c9f17f8}

\item 
\hypertarget{class_bezier_adea245bfd17eee16084f78d636d6b645}{
int {\bfseries trianglePascal} \mbox{[}100\mbox{]}\mbox{[}100\mbox{]}}
\label{class_bezier_adea245bfd17eee16084f78d636d6b645}

\item 
\hypertarget{class_bezier_ab72bfead338a4872683d3ba981b55dec}{
int {\bfseries deCasteljeau}}
\label{class_bezier_ab72bfead338a4872683d3ba981b55dec}

\item 
\hypertarget{class_bezier_ad68edbee781c74420c436a1c8b9580ae}{
float {\bfseries tDeCasteljeau}}
\label{class_bezier_ad68edbee781c74420c436a1c8b9580ae}

\item 
\hypertarget{class_bezier_a1f8b20d64f38bfe9a74d71952355e04c}{
\hyperlink{class_vectorf}{Vectorf} $\ast$ {\bfseries vDeCasteljeau}}
\label{class_bezier_a1f8b20d64f38bfe9a74d71952355e04c}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
================================================================= 

\subsection{Member Function Documentation}
\hypertarget{class_bezier_a49873d1d7e09b52c087cd5e711767a94}{
\index{Bezier@{Bezier}!FillBuffers@{FillBuffers}}
\index{FillBuffers@{FillBuffers}!Bezier@{Bezier}}
\subsubsection[{FillBuffers}]{\setlength{\rightskip}{0pt plus 5cm}Bezier::FillBuffers (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_bezier_a49873d1d7e09b52c087cd5e711767a94}


Discretise la courbe de \hyperlink{class_bezier}{Bezier} en fonction des points de controles qui ont été définis =================================================================================================================. 

================================================================================================================= 

On utilise glBindBuffer pour définir l'espace mémoire courant. Toutes les opérations en rapport avec les buffers modifieront l'espace mémoire courant défini par cette méthode

\hypertarget{class_bezier_a56608312591374b2958711345b29ad37}{
\index{Bezier@{Bezier}!InitBuffers@{InitBuffers}}
\index{InitBuffers@{InitBuffers}!Bezier@{Bezier}}
\subsubsection[{InitBuffers}]{\setlength{\rightskip}{0pt plus 5cm}Bezier::InitBuffers (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_bezier_a56608312591374b2958711345b29ad37}


Initialise les buffers contenant les informations concernant les sommets discretisant la courbe de bézier à savoir les coordonnées en x,y et z, la couleur de chacun de sommets =================================================================================================================. 

================================================================================================================= 

Dans un premier temps, je fais appel à la méthode glGenBuffers qui permet de créer un espace mémoire dans la carte graphique qui sera utilisé pour stocker des informations de différents types (coordonnées du sommet, couleurs, normales etc) Chaque espace mémoire ainsi alloué sera identifié par l'entier retourné par cette fonction



The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
sources/graphicElement/curves/bezier.h\item 
sources/graphicElement/curves/bezier.cpp\end{DoxyCompactItemize}
